package com.kakarote.bi.common.enums;

import com.kakarote.core.common.enums.DateFilterEnum;

/**
 * clickhouse时间格式化工具
 *
 * @author zhangzhiwei
 */
public enum BiCKDateEnum {
    /**
     * 格式化为本天
     */
    toDate,
    /**
     * 格式化为本周
     */
    toMonday,
    /**
     * 格式化为本月
     */
    toStartOfMonth,
    /**
     * 格式化为本季度
     */
    toStartOfQuarter,
    /**
     * 格式化为本年
     */
    toYear,
    ;

    public String getValue() {
        return name();
    }

    /**
     * 获取商业智能默认格式化展示时间
     *
     * @param dateFilterEnum date
     * @return format
     */
    public static String getCKDate(DateFilterEnum dateFilterEnum) {
        switch (dateFilterEnum) {
            case QUARTER:
            case LAST_QUARTER:
            case NEXT_QUARTER:
            case YEAR:
            case LAST_YEAR:
            case NEXT_YEAR:
                return toStartOfMonth.getValue();
            default:
                return toDate.getValue();
        }
    }
}
